
//asio 同步api

#include <utility>
#include <string>

#include <boost/asio.hpp>

//客户端生成端点
int client_end_point();

//客户端通过ip连接服务器
int connect_to_server();

//客户端通过域名连接服务器
int dns_connect_to_end();

//====================================

//服务端生成端点
int server_end_point();

//创建tcp socket
int create_tcp_socket();

//生成acceptor(接收器)的socket
int create_acceptor_socket();

//服务器端监听
int accept_new_connection();

//====================================

//手动构造一个boost中的buffer
void use_const_buffer();

//使用boost中的buffer
void use_buffer_str();

//给boost中的buffer传递C风格字符串
void use_buffer_array();

//====================================

//同步方式发送数据
void write_some_to_socket(boost::asio::ip::tcp::socket& socket);

//同步方式发送数据
int send_to_socket(boost::asio::ip::tcp::socket& socket);

//同步方式发送数据
int write_to_socket(boost::asio::ip::tcp::socket& socket);

//同步方式读数据
std::string read_some_from_socket(boost::asio::ip::tcp::socket& socket);

//同步方式读数据
int receive_from_socket(boost::asio::ip::tcp::socket& socket, std::string &str_buf);

//同步方式读数据
int read_from_socket(boost::asio::ip::tcp::socket& socket, std::string &str_buf);

//客户端同步发送数据流程
int client_send_data();

//客户端同步读数据流程
int client_read_data();